The present invention relates to a system and method for providing route guidance information to an end-user of a navigation application program.
Computer-based navigation application programs are available that provide end-users with various navigating functions and features. Some computer-based navigation application programs are included in navigation systems installed in vehicles, such as automobiles, trucks, buses, and so on. These in-vehicle systems can provide end-users, such as drivers of the vehicles in which the navigation systems are installed, with various navigating functions. For example, some navigation application programs are able to determine an optimum route to travel by roads between locations in a geographic region. Using input from an end-user, and optionally from equipment that can determine one's physical location (such as a GPS system), a navigation application program can examine various routes between two locations to determine an optimum route to travel from a starting location to a destination location in a geographic region. The navigation application program may then provide the end-user with information about the optimum route in the form of instructions that identify the maneuvers required to be taken by the end-user to travel from the starting location to the destination location. The instructions may take the form of visual and/or audio instructions that are provided along the way as the end-user is traveling the route. Some navigation application programs are able to show detailed maps on computer displays outlining routes to destinations, the types of maneuvers to be taken at various locations along the routes, locations of certain types of features, and so on.
In addition to in-vehicle navigation systems, computer-based navigation application programs are also provided on various other kinds of computer hardware platforms and with other kinds of computer architectures. For example, navigation application programs may be provided on personal computers, including desktop computers and portable computers. Computer-based navigation application programs may also be provided on networks, including wireless networks and the Internet. Computer-based navigation application programs may also be included on hand-held computer devices, such as personal digital assistants, telephones, pagers, and so on. In addition, computer-based navigation application programs may be included on special purpose electronic devices, such as personal navigation systems.
In order to provide these and other navigating functions, the navigation application program uses geographic data. The geographic data may be in the form of one or more databases that include data that represent physical features in a geographic region. The geographic database may include data representing the roads and intersections in a geographic region and also may include information relating to the represented roads and intersections in the geographic region, such as turn restrictions at intersections, speed limits along the roads, street names of the various roads, address ranges along the roads, and so on.
Although navigation application programs provide many important features, there continues to be room for improvements. One area in which there is room for improvement relates to providing meaningful maneuvering information to the end-user. For example, when a navigation application program provides maneuvering instructions to the end-user, it may be helpful to provide information about the names of the roads involved in the maneuver (e.g., "At the upcoming intersection with First Street, turn slightly to the right to stay on Main Street"). However, some roads are unnamed. Accordingly, in order to provide more meaningful maneuvering instructions that include more detail, it is necessary to take into account the availability, quality, and type of information which is available about the represented physical geographic features.
Another example of an area in which there is room for improvement relates to providing maneuvering instructions in different languages. For example, one person driving a rental automobile with a navigation system may want to have audible maneuvering instructions provided in English. Another driver of the same rental automobile may want to have the navigation system provide audible maneuvering instructions in Spanish. Alternatively, another driver of the same rental automobile may want to have the maneuvering instructions provided by the navigation system as text in English with graphics on a display monitor. Therefore, it would be beneficial to be able to accommodate the preferences of each of these different drivers with the same navigation system in the same automobile while still providing maneuvering instructions that are detailed and meaningful.
Another consideration relates to providing route guidance features on a navigation application program being run on a personal computer. If the end-user is running a navigation application from a personal computer, he/she may want to have the maneuvering instructions printed out or saved to a disk file for later use. In this situation, the maneuvering instructions need to be rendered and formatted appropriately for printing, or in a usable file format.
Other considerations apply if the navigation application program is operated from a hand-held computing device, such as a personal digital assistant. In this situation, the end-user may want to have the maneuvering instructions provided on a display screen of the device. If the navigation application program is provided via a telephone, the end-user may want to have the maneuvering instructions provided audibly as a voice message or on a display screen of the telephone.
Because there are different ways that end-users may want to have maneuvering instructions provided to them, it is preferable that there be different ways to render the maneuvering instructions. However, because these different kinds of devices have different capabilities and user interfaces, it has been difficult to provide a navigation application program that provides meaningful route guidance features that can accommodate all these different kinds of devices.
Accordingly, there is need for a program that facilitates the delivery of meaningful information to an end-user of a navigation application program.
A further area in which there is need for improvement relates to provision of a universal route guidance module or tool that can be readily used in a variety of different software and hardware environments and platforms without the need for extensive revisions and customizations.